/*
 * lotto.cpp
 *
 *  Created on: 10.01.2014
 *      Author: Stefan
 */

/*
 * Lotto.cpp
 *
 *  Created on: 11.02.2013
 *      Author: Stefan
 */

// TEST 12345

#include <iostream>
#include <windows.h>

using namespace std;

int counter = 0;

int** iNumbers = new int*[13983816];
int zahlen[6];
long long lProducts[13983816];


void doit(int fehlen, int start) {
	if (fehlen > 0) {
		for (int i = start; i <= 49; i++) {
			//cout << i << " ";
			zahlen[6-fehlen]=i;
			doit(fehlen - 1, i + 1);
		}
	} else {
		iNumbers[counter][0] = zahlen[0];
		iNumbers[counter][1] = zahlen[1];
		iNumbers[counter][2] = zahlen[2];
		iNumbers[counter][3] = zahlen[3];
		iNumbers[counter][4] = zahlen[4];
		iNumbers[counter][5] = zahlen[5];
		iNumbers[counter][6] = zahlen[0]+zahlen[1]+zahlen[2]+zahlen[3]+zahlen[4]+zahlen[5];
		lProducts[counter] = zahlen[0]*zahlen[1]*zahlen[2]*zahlen[3]*zahlen[4]*zahlen[5];
		counter++;
		//cout << endl;
		//Sleep(500);
	}
}

int main() {

	//unsigned long counter = 0;

	for (int i = 0; i < 13983816; i++) {
		iNumbers[i] = new int[7];
	}

	doit(6,1);
	cout << counter << endl;

//	for (int erste = 1; erste <= 49; erste++) {
//		for (int zweite = 2; zweite <= 49; zweite++) {
//			for (int dritte = 3; dritte <= 49; dritte++) {
//				for (int vierte = 4; vierte <= 49; vierte++) {
//					for (int fuenfte = 5; fuenfte <= 49; fuenfte++) {
//						for (int sechste = 6; sechste <= 49; sechste++) {
//							iNumbers[counter][0] = erste;
//							iNumbers[counter][1] = zweite;
//							iNumbers[counter][2] = dritte;
//							iNumbers[counter][3] = vierte;
//							iNumbers[counter][4] = fuenfte;
//							iNumbers[counter][5] = sechste;
//							iNumbers[counter][6] = erste + zweite + dritte
//									+ vierte + fuenfte + sechste;
//							counter++;
//							if (counter >= 10000)
//								break;
//						}
//						if (counter >= 10000)
//							break;
//					}
//					if (counter >= 10000)
//						break;
//				}
//				if (counter >= 10000)
//					break;
//			}
//			if (counter >= 10000)
//				break;
//		}
//		if (counter >= 10000)
//			break;
//	}
//
//	cout << sizeof(int);
//
	for (int i = 0; i < 100; i++) {
		for (int j = 0; j < 7; j++) {
			cout << iNumbers[i][j] << " ";
		}
		cout << lProducts[i];
		cout << endl;
	}
//	cout << counter;
	return 0;
}



